# 代理和主题 ID 规范 本文档描述了代理 ID 和主题 ID 的结构、约束和行为。 ## 代理 ID ### 必需属性 #### type(类型) * 类型:`string` * 描述:代理类型不是代理类。它将代理与特定的工厂函数关联,该函数生产相同代理`类型`的代理实例。例如,不同的工厂函数可以生产相同的代理类,但具有不同的构造函数参数。 * 约束:UTF8,只能包含字母数字字符(a-z)和(0-9),或下划线(_)。有效标识符不能以数字开头,也不能包含任何空格。 * 示例: * `code_reviewer` * `WebSurfer` * `UserProxy` #### key(键) * 类型:`string` * 描述:代理键是给定代理`类型`的实例标识符 * 约束:UTF8,只能包含 ASCII 32(空格)到 126(~)之间(包含)的字符。 * 示例: * `default` * 内存地址 * UUID 字符串 ## 主题 ID ### 必需属性 #### type(类型) * 类型:`string` * 描述:主题类型通常由应用程序代码定义,用于标记主题所针对的消息类型。 * 约束:UTF8,只能包含字母数字字符(a-z)和(0-9),或下划线(_)。有效标识符不能以数字开头,也不能包含任何空格。 * 示例: * `GitHub_Issues` #### source(来源) * 类型:`string` * 描述:主题来源是主题类型内的主题唯一标识符。它通常由应用程序数据定义。 * 约束:UTF8,只能包含 ASCII 32(空格)到 126(~)之间(包含)的字符。 * 示例: * `github.com/{repo_name}/issues/{issue_number}`